Static Call Graph for image C:\Documents and Settings\NGadish\My Documents\Datalogger Board\EVAL-ADXL345Z-DB Files\datalogger.axf
#<CALLGRAPH># ARM Linker, RVCT4.0 [Build 728]: Last Updated: Tue May 18 16:17:07 2010
Maximum Stack Usage = 1552 bytes + Unknown(Functions without stacksize, Untraceable Function Pointers)
Call chain for Maximum Stack Depth:
main ⇒ InitFs ⇒ file_fopen ⇒ fs_findFreeFile ⇒ fs_findFile ⇒ dir_findinDir ⇒ fat_LogicToDiscCluster ⇒ fat_getNextClusterAddressWBuf ⇒ part_getSect ⇒ ioman_getSector ⇒ ioman_putSectorInCache ⇒ if_readBuf ⇒ sd_readSector ⇒ sd_Command
Functions with no stack information
Function Pointers
Global Symbols
Reset_Handler (ARM, 0 bytes, Stack size unknown bytes, aduc702x.o(RESET))
[Address Reference Count : 1]
__main (ARM, 8 bytes, Stack size 0 bytes, __main.o(!!!main))
[Calls]
- >> __rt_entry
- >> __scatterload
__scatterload (ARM, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter))
[Called By]
__scatterload_rt2 (ARM, 52 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
[Calls]
__scatterload_null (ARM, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
__scatterload_copy (ARM, 40 bytes, Stack size unknown bytes, __scatter_copy.o(!!handler_copy), UNUSED)
__scatterload_zeroinit (ARM, 44 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED)
_printf_d (ARM, 0 bytes, Stack size unknown bytes, _printf_d.o(.ARM.Collect$$_printf_percent$$00000009))
[Stack]
- Max Depth = 88 + Unknown Stack Size
- Call Chain = _printf_d ⇒ _printf_int_dec ⇒ _printf_int_common ⇒ _printf_post_padding
[Calls]- >> _printf_int_dec (via Veneer)
_printf_percent (ARM, 0 bytes, Stack size unknown bytes, _printf_percent.o(.ARM.Collect$$_printf_percent$$00000000))
[Called By]
_printf_s (ARM, 0 bytes, Stack size unknown bytes, _printf_s.o(.ARM.Collect$$_printf_percent$$00000014))
[Stack]
- Max Depth = 40 + Unknown Stack Size
- Call Chain = _printf_s ⇒ _printf_string ⇒ _printf_cs_common ⇒ _printf_str ⇒ _printf_post_padding
[Calls]- >> _printf_string (via Veneer)
_printf_percent_end (ARM, 0 bytes, Stack size unknown bytes, _printf_percent_end.o(.ARM.Collect$$_printf_percent$$00000017))
__rt_lib_init (Thumb, 0 bytes, Stack size unknown bytes, libinit.o(.ARM.Collect$$libinit$$00000000))
[Stack]
- Max Depth = 8 + Unknown Stack Size
- Call Chain = __rt_lib_init ⇒ _fp_init
[Calls]
[Called By]- >> __rt_entry_li (via Veneer)
__rt_lib_init_alloca_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002A))
__rt_lib_init_argv_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000028))
__rt_lib_init_atexit_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000017))
__rt_lib_init_clock_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001D))
__rt_lib_init_cpp_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002E))
__rt_lib_init_exceptions_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002C))
__rt_lib_init_fp_trap_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001B))
__rt_lib_init_getenv_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001F))
__rt_lib_init_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000006))
__rt_lib_init_lc_collate_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000D))
__rt_lib_init_lc_ctype_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000F))
__rt_lib_init_lc_monetary_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000011))
__rt_lib_init_lc_numeric_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000013))
__rt_lib_init_lc_time_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000015))
__rt_lib_init_rand_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000A))
__rt_lib_init_return (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002F))
__rt_lib_init_signal_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000019))
__rt_lib_init_stdio_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000021))
__rt_lib_init_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000008))
__rt_lib_shutdown (Thumb, 0 bytes, Stack size unknown bytes, libshutdown.o(.ARM.Collect$$libshutdown$$00000000))
[Called By]
- >> __rt_exit_ls (via Veneer)
__rt_lib_shutdown_fp_trap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000006))
__rt_lib_shutdown_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000E))
__rt_lib_shutdown_return (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000F))
__rt_lib_shutdown_signal_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000009))
__rt_lib_shutdown_stdio_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000003))
__rt_lib_shutdown_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000B))
__rt_entry (ARM, 0 bytes, Stack size unknown bytes, rtentry.o(.ARM.Collect$$rtentry$$00000000))
[Called By]
- >> __main
- >> __scatterload_rt2
__rt_entry_presh_1 (ARM, 0 bytes, Stack size unknown bytes, rtentry2.o(.ARM.Collect$$rtentry$$00000002))
__rt_entry_sh (ARM, 0 bytes, Stack size unknown bytes, rtentry4.o(.ARM.Collect$$rtentry$$00000004))
[Stack]
- Max Depth = 8 + Unknown Stack Size
- Call Chain = __rt_entry_sh ⇒ __user_setup_stackheap
[Calls]- >> __user_setup_stackheap
__rt_entry_li (ARM, 0 bytes, Stack size unknown bytes, rtentry2.o(.ARM.Collect$$rtentry$$0000000A))
[Stack]
- Max Depth = 8 + Unknown Stack Size
- Call Chain = __rt_entry_li ⇒ __rt_lib_init ⇒ _fp_init
[Calls]- >> __rt_lib_init (via Veneer)
__rt_entry_postsh_1 (ARM, 0 bytes, Stack size unknown bytes, rtentry2.o(.ARM.Collect$$rtentry$$00000009))
__rt_entry_main (ARM, 0 bytes, Stack size unknown bytes, rtentry2.o(.ARM.Collect$$rtentry$$0000000D))
[Calls]
__rt_entry_postli_1 (ARM, 0 bytes, Stack size unknown bytes, rtentry2.o(.ARM.Collect$$rtentry$$0000000C))
__rt_exit (ARM, 0 bytes, Stack size unknown bytes, rtexit.o(.ARM.Collect$$rtexit$$00000000))
[Called By]
__rt_exit_ls (ARM, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000003))
[Calls]
- >> __rt_lib_shutdown (via Veneer)
__rt_exit_prels_1 (ARM, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000002))
__rt_exit_exit (ARM, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000004))
[Calls]
- >> _sys_exit (via Veneer)
__user_initial_stackheap (ARM, 0 bytes, Stack size unknown bytes, aduc702x.o(.text))
[Called By]
- >> __user_setup_stackheap
__I$use$semihosting (ARM, 0 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED)
__use_no_semihosting_swi (ARM, 4 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED)
__2snprintf (Thumb, 50 bytes, Stack size 32 bytes, noretval__2snprintf.o(.text))
[Stack]
- Max Depth = 136 + Unknown Stack Size
- Call Chain = __2snprintf ⇒ _printf_char_common ⇒ __printf
[Calls]- >> _sputc
- >> _printf_char_common
[Called By]
_printf_pre_padding (Thumb, 48 bytes, Stack size 16 bytes, _printf_pad.o(.text))
[Stack]
- Max Depth = 16
- Call Chain = _printf_pre_padding
[Calls]- >> __ARM_common_call_via_r2
[Called By]- >> _printf_int_common
- >> _printf_str
_printf_post_padding (Thumb, 36 bytes, Stack size 16 bytes, _printf_pad.o(.text))
[Stack]
- Max Depth = 16
- Call Chain = _printf_post_padding
[Calls]- >> __ARM_common_call_via_r2
[Called By]- >> _printf_int_common
- >> _printf_str
_printf_str (Thumb, 88 bytes, Stack size 16 bytes, _printf_str.o(.text))
[Stack]
- Max Depth = 32
- Call Chain = _printf_str ⇒ _printf_post_padding
[Calls]- >> _printf_post_padding
- >> _printf_pre_padding
- >> __ARM_common_call_via_r2
[Called By]
_printf_int_dec (Thumb, 94 bytes, Stack size 32 bytes, _printf_dec.o(.text))
[Stack]
- Max Depth = 88
- Call Chain = _printf_int_dec ⇒ _printf_int_common ⇒ _printf_post_padding
[Calls]- >> __rt_udiv10 (via Veneer)
- >> _printf_int_common
- >> _printf_truncate_unsigned (Weak Reference)
- >> _printf_truncate_signed (Weak Reference)
[Called By]- >> _printf_d (via Veneer)
__printf (Thumb, 332 bytes, Stack size 32 bytes, __printf_flags_wp.o(.text))
[Stack]
- Max Depth = 32 + Unknown Stack Size
- Call Chain = __printf
[Calls]- >> _printf_percent (via Veneer)
- >> __ARM_common_call_via_r2
- >> __ARM_common_call_via_r1
[Called By]
strlen (Thumb, 64 bytes, Stack size 8 bytes, strlen.o(.text))
[Stack]
- Max Depth = 8
- Call Chain = strlen
[Called By]
__aeabi_memset (ARM, 16 bytes, Stack size 0 bytes, aeabi_memset.o(.text))
[Calls]
[Called By]- >> file_normalToFatName (via Veneer)
__aeabi_memclr4 (ARM, 0 bytes, Stack size 4 bytes, rt_memclr_w.o(.text))
[Stack]
- Max Depth = 4
- Call Chain = __aeabi_memclr4
[Called By]
__aeabi_memclr8 (ARM, 0 bytes, Stack size 4 bytes, rt_memclr_w.o(.text), UNUSED)
__rt_memclr_w (ARM, 84 bytes, Stack size 4 bytes, rt_memclr_w.o(.text), UNUSED)
_memset_w (ARM, 0 bytes, Stack size unknown bytes, rt_memclr_w.o(.text), UNUSED)
[Called By]
__aeabi_idiv (ARM, 0 bytes, Stack size 8 bytes, aeabi_sdivfast.o(.text), UNUSED)
__aeabi_idivmod (ARM, 556 bytes, Stack size 8 bytes, aeabi_sdivfast.o(.text))
[Stack]
- Max Depth = 8
- Call Chain = __aeabi_idivmod
[Called By]- >> fs_initFs (via Veneer)
__use_two_region_memory (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)
__rt_heap_escrow$2region (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)
__rt_heap_expand$2region (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)
_printf_int_common (Thumb, 182 bytes, Stack size 40 bytes, _printf_intcommon.o(.text))
[Stack]
- Max Depth = 56
- Call Chain = _printf_int_common ⇒ _printf_post_padding
[Calls]- >> _printf_post_padding
- >> _printf_pre_padding
- >> __ARM_common_call_via_r2
[Called By]
_printf_char_common (Thumb, 38 bytes, Stack size 72 bytes, _printf_char_common.o(.text))
[Stack]
- Max Depth = 104 + Unknown Stack Size
- Call Chain = _printf_char_common ⇒ __printf
[Calls]
[Called By]
_sputc (Thumb, 10 bytes, Stack size 0 bytes, _sputc.o(.text))
[Called By]
_snputc (Thumb, 16 bytes, Stack size 0 bytes, _snputc.o(.text))
[Address Reference Count : 1]
- noretval__2snprintf.o(.text)
_printf_cs_common (Thumb, 26 bytes, Stack size 8 bytes, _printf_char.o(.text))
[Stack]
- Max Depth = 40
- Call Chain = _printf_cs_common ⇒ _printf_str ⇒ _printf_post_padding
[Calls]- >> _printf_mbtowc (Weak Reference)
- >> _printf_str
[Called By]- >> _printf_string
- >> _printf_char
_printf_char (Thumb, 16 bytes, Stack size 0 bytes, _printf_char.o(.text), UNUSED)
[Calls]
_printf_string (Thumb, 8 bytes, Stack size 0 bytes, _printf_char.o(.text))
[Stack]
- Max Depth = 40
- Call Chain = _printf_string ⇒ _printf_cs_common ⇒ _printf_str ⇒ _printf_post_padding
[Calls]
[Called By]- >> _printf_s (via Veneer)
__aeabi_memclr (ARM, 0 bytes, Stack size 0 bytes, rt_memclr.o(.text), UNUSED)
__rt_memclr (ARM, 64 bytes, Stack size 0 bytes, rt_memclr.o(.text), UNUSED)
[Calls]
_memset (ARM, 0 bytes, Stack size unknown bytes, rt_memclr.o(.text))
[Called By]
__rt_udiv10 (ARM, 44 bytes, Stack size 0 bytes, rtudiv10.o(.text))
[Called By]
- >> _printf_int_dec (via Veneer)
__user_setup_stackheap (ARM, 96 bytes, Stack size 8 bytes, sys_stackheap_outer.o(.text))
[Stack]
- Max Depth = 8 + Unknown Stack Size
- Call Chain = __user_setup_stackheap
[Calls]- >> __user_initial_stackheap
- >> __user_perproc_libspace
[Called By]
exit (Thumb, 12 bytes, Stack size 0 bytes, exit.o(.text))
[Calls]
- >> _call_atexit_fns (Weak Reference)
- >> __rt_exit (via Veneer)
[Called By]
__user_libspace (ARM, 12 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)
__user_perproc_libspace (ARM, 0 bytes, Stack size 0 bytes, libspace.o(.text))
[Called By]
- >> __user_setup_stackheap
__user_perthread_libspace (ARM, 0 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)
__rt_fp_status_addr (ARM, 16 bytes, Stack size 0 bytes, rt_fp_status_addr_intlibspace.o(.text))
[Called By]
__aeabi_uidiv (ARM, 0 bytes, Stack size 0 bytes, aeabi_sdivfast.o(.text_udiv), UNUSED)
__aeabi_uidivmod (ARM, 40 bytes, Stack size 0 bytes, aeabi_sdivfast.o(.text_udiv))
[Calls]
- >> __arm_div4
- >> __arm_div8
- >> __arm_div12
- >> __arm_div16
- >> __arm_div_large_positive
[Called By]- >> file_fwrite (via Veneer)
- >> fs_initFs (via Veneer)
- >> debug_printf (via Veneer)
- >> ioman_getSector (via Veneer)
DAbt_Handler (ARM, 48 bytes, Stack size 24 bytes, datalogger.o(i.DAbt_Handler))
[Stack]
- Max Depth = 80 + Unknown Stack Size
- Call Chain = DAbt_Handler ⇒ debug_printf
[Calls]- >> redLight (via Veneer)
- >> greenLight (via Veneer)
- >> debug_printf (via Veneer)
[Address Reference Count : 1]
FIQ_Handler (ARM, 44 bytes, Stack size 24 bytes, datalogger.o(i.FIQ_Handler))
[Stack]
- Max Depth = 80 + Unknown Stack Size
- Call Chain = FIQ_Handler ⇒ debug_printf
[Calls]- >> redLight (via Veneer)
- >> greenLight (via Veneer)
- >> debug_printf (via Veneer)
[Address Reference Count : 1]
I2C_WRITE (Thumb, 90 bytes, Stack size 16 bytes, xl345_io_bb.o(i.I2C_WRITE))
[Stack]
- Max Depth = 16
- Call Chain = I2C_WRITE
[Called By]- >> xl345Write
- >> xl345Read
IRQ_Handler (ARM, 232 bytes, Stack size 56 bytes, datalogger.o(i.IRQ_Handler))
[Stack]
- Max Depth = 104
- Call Chain = IRQ_Handler ⇒ xl345Read ⇒ I2C_WRITE
[Calls]- >> xl345Read (via Veneer)
[Address Reference Count : 1]
InitFs (Thumb, 306 bytes, Stack size 128 bytes, datalogger.o(i.InitFs))
[Stack]
- Max Depth = 656 + Unknown Stack Size
- Call Chain = InitFs ⇒ file_fopen ⇒ fs_findFreeFile ⇒ fs_findFile ⇒ dir_findinDir ⇒ fat_LogicToDiscCluster ⇒ fat_getNextClusterAddressWBuf ⇒ part_getSect ⇒ ioman_getSector ⇒ ioman_putSectorInCache ⇒ if_readBuf ⇒ sd_readSector ⇒ sd_Command
[Calls]- >> mkdir
- >> fs_umount
- >> file_write
- >> file_fopen
- >> file_fclose
- >> efs_init
- >> debug_printf
- >> __aeabi_memclr4 (via Veneer)
- >> __2snprintf
[Called By]
Initialize (Thumb, 224 bytes, Stack size 24 bytes, datalogger.o(i.Initialize))
[Stack]
- Max Depth = 60
- Call Chain = Initialize ⇒ xl345Write ⇒ I2C_WRITE
[Calls]- >> xl345Write
- >> i2cinit
- >> UART_Config
[Called By]
PAbt_Handler (ARM, 48 bytes, Stack size 24 bytes, datalogger.o(i.PAbt_Handler))
[Stack]
- Max Depth = 80 + Unknown Stack Size
- Call Chain = PAbt_Handler ⇒ debug_printf
[Calls]- >> redLight (via Veneer)
- >> greenLight (via Veneer)
- >> debug_printf (via Veneer)
[Address Reference Count : 1]
SWI_Handler (ARM, 44 bytes, Stack size 24 bytes, datalogger.o(i.SWI_Handler))
[Stack]
- Max Depth = 80 + Unknown Stack Size
- Call Chain = SWI_Handler ⇒ debug_printf
[Calls]- >> redLight (via Veneer)
- >> greenLight (via Veneer)
- >> debug_printf (via Veneer)
[Address Reference Count : 1]
SensorLoop (Thumb, 788 bytes, Stack size 64 bytes, datalogger.o(i.SensorLoop))
[Stack]
- Max Depth = 592 + Unknown Stack Size
- Call Chain = SensorLoop ⇒ file_fopen ⇒ fs_findFreeFile ⇒ fs_findFile ⇒ dir_findinDir ⇒ fat_LogicToDiscCluster ⇒ fat_getNextClusterAddressWBuf ⇒ part_getSect ⇒ ioman_getSector ⇒ ioman_putSectorInCache ⇒ if_readBuf ⇒ sd_readSector ⇒ sd_Command
[Calls]- >> xl345Read
- >> fs_umount
- >> file_write
- >> file_fopen
- >> file_fclose
- >> efs_init
- >> debug_printf
- >> strlen
- >> __2snprintf
[Called By]
UART_Config (Thumb, 30 bytes, Stack size 0 bytes, debug_printf.o(i.UART_Config))
[Called By]
Undef_Handler (ARM, 48 bytes, Stack size 24 bytes, datalogger.o(i.Undef_Handler))
[Stack]
- Max Depth = 80 + Unknown Stack Size
- Call Chain = Undef_Handler ⇒ debug_printf
[Calls]- >> redLight (via Veneer)
- >> greenLight (via Veneer)
- >> debug_printf (via Veneer)
[Address Reference Count : 1]
__ARM_common_call_via_r1 (Thumb, 2 bytes, Stack size 0 bytes, __printf.o(i.__ARM_common_call_via_r1))
[Called By]
__ARM_common_call_via_r2 (Thumb, 2 bytes, Stack size 0 bytes, __printf.o(i.__ARM_common_call_via_r2))
[Called By]
- >> _printf_int_common
- >> __printf
- >> _printf_str
- >> _printf_post_padding
- >> _printf_pre_padding
_sys_exit (Thumb, 2 bytes, Stack size 0 bytes, retarget.o(i._sys_exit))
[Called By]
- >> __rt_exit_exit (via Veneer)
debug_printf (Thumb, 460 bytes, Stack size 56 bytes, debug_printf.o(i.debug_printf))
[Stack]
- Max Depth = 56 + Unknown Stack Size
- Call Chain = debug_printf
[Calls]- >> __aeabi_uidivmod (via Veneer)
[Called By]- >> main
- >> SensorLoop
- >> InitFs
- >> Undef_Handler (via Veneer)
- >> SWI_Handler (via Veneer)
- >> PAbt_Handler (via Veneer)
- >> FIQ_Handler (via Veneer)
- >> DAbt_Handler (via Veneer)
dir_addCluster (Thumb, 66 bytes, Stack size 32 bytes, dir.o(i.dir_addCluster))
[Stack]
- Max Depth = 320 + Unknown Stack Size
- Call Chain = dir_addCluster ⇒ fat_allocClusterChain ⇒ fs_getLastCluster ⇒ fat_getNextClusterChain ⇒ fat_getNextClusterAddressWBuf ⇒ part_getSect ⇒ ioman_getSector ⇒ ioman_putSectorInCache ⇒ if_readBuf ⇒ sd_readSector ⇒ sd_Command
[Calls]- >> fs_getLastCluster
- >> fs_initClusterChain
- >> fat_allocClusterChain
- >> fs_clearCluster
[Called By]
dir_createDefaultEntry (Thumb, 42 bytes, Stack size 8 bytes, dir.o(i.dir_createDefaultEntry))
[Stack]
- Max Depth = 12
- Call Chain = dir_createDefaultEntry ⇒ memCpy
[Calls]
[Called By]
dir_createDirectoryEntry (Thumb, 48 bytes, Stack size 24 bytes, dir.o(i.dir_createDirectoryEntry))
[Stack]
- Max Depth = 184 + Unknown Stack Size
- Call Chain = dir_createDirectoryEntry ⇒ part_getSect ⇒ ioman_getSector ⇒ ioman_putSectorInCache ⇒ if_readBuf ⇒ sd_readSector ⇒ sd_Command
[Calls]- >> part_relSect
- >> part_getSect
- >> memCpy
[Called By]
dir_findinDir (Thumb, 360 bytes, Stack size 104 bytes, dir.o(i.dir_findinDir))
[Stack]
- Max Depth = 336 + Unknown Stack Size
- Call Chain = dir_findinDir ⇒ fat_LogicToDiscCluster ⇒ fat_getNextClusterAddressWBuf ⇒ part_getSect ⇒ ioman_getSector ⇒ ioman_putSectorInCache ⇒ if_readBuf ⇒ sd_readSector ⇒ sd_Command
[Calls]- >> fat_LogicToDiscCluster
- >> part_relSect
- >> part_getSect
- >> fs_clusterToSector
- >> strMatch
- >> dir_findinRootArea
[Called By]- >> fs_findFreeFile
- >> fs_findFile
dir_findinRootArea (Thumb, 310 bytes, Stack size 72 bytes, dir.o(i.dir_findinRootArea))
[Stack]
- Max Depth = 232 + Unknown Stack Size
- Call Chain = dir_findinRootArea ⇒ part_getSect ⇒ ioman_getSector ⇒ ioman_putSectorInCache ⇒ if_readBuf ⇒ sd_readSector ⇒ sd_Command
[Calls]- >> part_relSect
- >> part_getSect
- >> strMatch
[Called By]
dir_getFatFileName (Thumb, 88 bytes, Stack size 32 bytes, dir.o(i.dir_getFatFileName))
[Stack]
- Max Depth = 56 + Unknown Stack Size
- Call Chain = dir_getFatFileName ⇒ file_normalToFatName
[Calls]- >> file_normalToFatName
- >> memCpy
- >> memClr
[Called By]- >> fs_findFreeFile
- >> mkdir
- >> file_fopen
dir_getFileStructure (Thumb, 48 bytes, Stack size 24 bytes, dir.o(i.dir_getFileStructure))
[Stack]
- Max Depth = 184 + Unknown Stack Size
- Call Chain = dir_getFileStructure ⇒ part_getSect ⇒ ioman_getSector ⇒ ioman_putSectorInCache ⇒ if_readBuf ⇒ sd_readSector ⇒ sd_Command
[Calls]- >> part_relSect
- >> part_getSect
[Called By]
dir_setFileSize (Thumb, 40 bytes, Stack size 16 bytes, dir.o(i.dir_setFileSize))
[Stack]
- Max Depth = 176 + Unknown Stack Size
- Call Chain = dir_setFileSize ⇒ part_getSect ⇒ ioman_getSector ⇒ ioman_putSectorInCache ⇒ if_readBuf ⇒ sd_readSector ⇒ sd_Command
[Calls]- >> part_relSect
- >> part_getSect
[Called By]- >> file_fwrite
- >> file_fclose
dir_setFirstCluster (Thumb, 50 bytes, Stack size 16 bytes, dir.o(i.dir_setFirstCluster))
[Stack]
- Max Depth = 176 + Unknown Stack Size
- Call Chain = dir_setFirstCluster ⇒ part_getSect ⇒ ioman_getSector ⇒ ioman_putSectorInCache ⇒ if_readBuf ⇒ sd_readSector ⇒ sd_Command
[Calls]- >> part_relSect
- >> part_getSect
[Called By]
dir_updateDirectoryEntry (Thumb, 50 bytes, Stack size 24 bytes, dir.o(i.dir_updateDirectoryEntry))
[Stack]
- Max Depth = 184 + Unknown Stack Size
- Call Chain = dir_updateDirectoryEntry ⇒ part_getSect ⇒ ioman_getSector ⇒ ioman_putSectorInCache ⇒ if_readBuf ⇒ sd_readSector ⇒ sd_Command
[Calls]- >> part_relSect
- >> part_getSect
- >> memCpy
[Called By]
disc_initDisc (Thumb, 64 bytes, Stack size 16 bytes, disc.o(i.disc_initDisc))
[Stack]
- Max Depth = 168 + Unknown Stack Size
- Call Chain = disc_initDisc ⇒ ioman_getSector ⇒ ioman_putSectorInCache ⇒ if_readBuf ⇒ sd_readSector ⇒ sd_Command
[Calls]- >> ioman_releaseSector
- >> ioman_getSector
- >> ex_getPartitionField
[Called By]
efs_init (Thumb, 126 bytes, Stack size 16 bytes, efs.o(i.efs_init))
[Stack]
- Max Depth = 200 + Unknown Stack Size
- Call Chain = efs_init ⇒ fs_initFs ⇒ part_getSect ⇒ ioman_getSector ⇒ ioman_putSectorInCache ⇒ if_readBuf ⇒ sd_readSector ⇒ sd_Command
[Calls]- >> part_initPartition
- >> ioman_init
- >> fs_initFs
- >> disc_initDisc
- >> if_initInterface
[Called By]
ex_getPartitionField (Thumb, 84 bytes, Stack size 4 bytes, extract.o(i.ex_getPartitionField))
[Stack]
- Max Depth = 4
- Call Chain = ex_getPartitionField
[Called By]
ex_getb16 (Thumb, 16 bytes, Stack size 0 bytes, extract.o(i.ex_getb16))
[Called By]
ex_getb32 (Thumb, 24 bytes, Stack size 0 bytes, extract.o(i.ex_getb32))
[Called By]
fat_LogicToDiscCluster (Thumb, 266 bytes, Stack size 48 bytes, fat.o(i.fat_LogicToDiscCluster))
[Stack]
- Max Depth = 232 + Unknown Stack Size
- Call Chain = fat_LogicToDiscCluster ⇒ fat_getNextClusterAddressWBuf ⇒ part_getSect ⇒ ioman_getSector ⇒ ioman_putSectorInCache ⇒ if_readBuf ⇒ sd_readSector ⇒ sd_Command
[Calls]- >> part_relSect
- >> part_getSect
- >> fat_getSectorAddressFatEntry
- >> fat_getNextClusterAddressWBuf
[Called By]- >> dir_findinDir
- >> fat_countClustersInChain
- >> file_fwrite
fat_allocClusterChain (Thumb, 368 bytes, Stack size 48 bytes, fat.o(i.fat_allocClusterChain))
[Stack]
- Max Depth = 288 + Unknown Stack Size
- Call Chain = fat_allocClusterChain ⇒ fs_getLastCluster ⇒ fat_getNextClusterChain ⇒ fat_getNextClusterAddressWBuf ⇒ part_getSect ⇒ ioman_getSector ⇒ ioman_putSectorInCache ⇒ if_readBuf ⇒ sd_readSector ⇒ sd_Command
[Calls]- >> fs_getLastCluster
- >> part_relSect
- >> part_getSect
- >> fat_setNextClusterAddressWBuf
- >> fat_getSectorAddressFatEntry
- >> fat_getNextClusterAddressWBuf
[Called By]- >> dir_addCluster
- >> file_fwrite
fat_countClustersInChain (Thumb, 62 bytes, Stack size 40 bytes, fat.o(i.fat_countClustersInChain))
[Stack]
- Max Depth = 272 + Unknown Stack Size
- Call Chain = fat_countClustersInChain ⇒ fat_LogicToDiscCluster ⇒ fat_getNextClusterAddressWBuf ⇒ part_getSect ⇒ ioman_getSector ⇒ ioman_putSectorInCache ⇒ if_readBuf ⇒ sd_readSector ⇒ sd_Command
[Calls]- >> fat_LogicToDiscCluster
[Called By]
fat_getNextClusterAddress (Thumb, 160 bytes, Stack size 24 bytes, fat.o(i.fat_getNextClusterAddress))
[Stack]
- Max Depth = 184 + Unknown Stack Size
- Call Chain = fat_getNextClusterAddress ⇒ part_getSect ⇒ ioman_getSector ⇒ ioman_putSectorInCache ⇒ if_readBuf ⇒ sd_readSector ⇒ sd_Command
[Calls]- >> part_relSect
- >> part_getSect
- >> fat_getSectorAddressFatEntry
[Called By]
fat_getNextClusterAddressWBuf (Thumb, 128 bytes, Stack size 24 bytes, fat.o(i.fat_getNextClusterAddressWBuf))
[Stack]
- Max Depth = 184 + Unknown Stack Size
- Call Chain = fat_getNextClusterAddressWBuf ⇒ part_getSect ⇒ ioman_getSector ⇒ ioman_putSectorInCache ⇒ if_readBuf ⇒ sd_readSector ⇒ sd_Command
[Calls]- >> part_relSect
- >> part_getSect
- >> fat_getSectorAddressFatEntry
[Called By]- >> fat_getNextClusterChain
- >> fat_allocClusterChain
- >> fat_LogicToDiscCluster
fat_getNextClusterChain (Thumb, 208 bytes, Stack size 40 bytes, fat.o(i.fat_getNextClusterChain))
[Stack]
- Max Depth = 224 + Unknown Stack Size
- Call Chain = fat_getNextClusterChain ⇒ fat_getNextClusterAddressWBuf ⇒ part_getSect ⇒ ioman_getSector ⇒ ioman_putSectorInCache ⇒ if_readBuf ⇒ sd_readSector ⇒ sd_Command
[Calls]- >> part_relSect
- >> part_getSect
- >> fat_getSectorAddressFatEntry
- >> fat_getNextClusterAddressWBuf
[Called By]
fat_getSectorAddressFatEntry (Thumb, 56 bytes, Stack size 0 bytes, fat.o(i.fat_getSectorAddressFatEntry))
[Called By]
- >> fat_getNextClusterChain
- >> fat_getNextClusterAddress
- >> fat_allocClusterChain
- >> fat_LogicToDiscCluster
- >> fat_setNextClusterAddress
- >> fat_setNextClusterAddressWBuf
- >> fat_getNextClusterAddressWBuf
fat_giveEocMarker (Thumb, 32 bytes, Stack size 0 bytes, fat.o(i.fat_giveEocMarker))
[Called By]
fat_setNextClusterAddress (Thumb, 226 bytes, Stack size 24 bytes, fat.o(i.fat_setNextClusterAddress))
[Stack]
- Max Depth = 184 + Unknown Stack Size
- Call Chain = fat_setNextClusterAddress ⇒ part_getSect ⇒ ioman_getSector ⇒ ioman_putSectorInCache ⇒ if_readBuf ⇒ sd_readSector ⇒ sd_Command
[Calls]- >> part_relSect
- >> part_getSect
- >> fat_getSectorAddressFatEntry
[Called By]
fat_setNextClusterAddressWBuf (Thumb, 206 bytes, Stack size 24 bytes, fat.o(i.fat_setNextClusterAddressWBuf))
[Stack]
- Max Depth = 184 + Unknown Stack Size
- Call Chain = fat_setNextClusterAddressWBuf ⇒ part_getSect ⇒ ioman_getSector ⇒ ioman_putSectorInCache ⇒ if_readBuf ⇒ sd_readSector ⇒ sd_Command
[Calls]- >> part_relSect
- >> part_getSect
- >> fat_getSectorAddressFatEntry
[Called By]
file_fclose (Thumb, 96 bytes, Stack size 16 bytes, file.o(i.file_fclose))
[Stack]
- Max Depth = 200 + Unknown Stack Size
- Call Chain = file_fclose ⇒ dir_updateDirectoryEntry ⇒ part_getSect ⇒ ioman_getSector ⇒ ioman_putSectorInCache ⇒ if_readBuf ⇒ sd_readSector ⇒ sd_Command
[Calls]- >> fs_hasTimeSupport
- >> dir_updateDirectoryEntry
- >> dir_setFileSize
- >> memClr
[Called By]
file_fopen (Thumb, 704 bytes, Stack size 96 bytes, file.o(i.file_fopen))
[Stack]
- Max Depth = 528 + Unknown Stack Size
- Call Chain = file_fopen ⇒ fs_findFreeFile ⇒ fs_findFile ⇒ dir_findinDir ⇒ fat_LogicToDiscCluster ⇒ fat_getNextClusterAddressWBuf ⇒ part_getSect ⇒ ioman_getSector ⇒ ioman_putSectorInCache ⇒ if_readBuf ⇒ sd_readSector ⇒ sd_Command
[Calls]- >> fs_setFirstClusterInDirEntry
- >> fs_initClusterChain
- >> dir_setFirstCluster
- >> dir_getFileStructure
- >> dir_createDirectoryEntry
- >> dir_createDefaultEntry
- >> memCpy
- >> fs_giveFreeClusterHint
- >> fs_getNextFreeCluster
- >> fs_findFreeFile
- >> fs_findFile
- >> fat_setNextClusterAddress
- >> fat_giveEocMarker
- >> dir_getFatFileName
[Called By]
file_fwrite (Thumb, 398 bytes, Stack size 80 bytes, file.o(i.file_fwrite))
[Stack]
- Max Depth = 368 + Unknown Stack Size
- Call Chain = file_fwrite ⇒ fat_allocClusterChain ⇒ fs_getLastCluster ⇒ fat_getNextClusterChain ⇒ fat_getNextClusterAddressWBuf ⇒ part_getSect ⇒ ioman_getSector ⇒ ioman_putSectorInCache ⇒ if_readBuf ⇒ sd_readSector ⇒ sd_Command
[Calls]- >> part_directSectorWrite
- >> fat_countClustersInChain
- >> fat_allocClusterChain
- >> fat_LogicToDiscCluster
- >> dir_setFileSize
- >> part_relSect
- >> part_getSect
- >> memCpy
- >> fs_clusterToSector
- >> __aeabi_uidivmod (via Veneer)
[Called By]
file_normalToFatName (Thumb, 270 bytes, Stack size 24 bytes, file.o(i.file_normalToFatName))
[Stack]
- Max Depth = 24 + Unknown Stack Size
- Call Chain = file_normalToFatName
[Calls]- >> __aeabi_memset (via Veneer)
[Called By]- >> fs_findFile
- >> dir_getFatFileName
file_write (Thumb, 30 bytes, Stack size 8 bytes, file.o(i.file_write))
[Stack]
- Max Depth = 376 + Unknown Stack Size
- Call Chain = file_write ⇒ file_fwrite ⇒ fat_allocClusterChain ⇒ fs_getLastCluster ⇒ fat_getNextClusterChain ⇒ fat_getNextClusterAddressWBuf ⇒ part_getSect ⇒ ioman_getSector ⇒ ioman_putSectorInCache ⇒ if_readBuf ⇒ sd_readSector ⇒ sd_Command
[Calls]
[Called By]
fs_clearCluster (Thumb, 104 bytes, Stack size 24 bytes, fs.o(i.fs_clearCluster))
[Stack]
- Max Depth = 184 + Unknown Stack Size
- Call Chain = fs_clearCluster ⇒ part_getSect ⇒ ioman_getSector ⇒ ioman_putSectorInCache ⇒ if_readBuf ⇒ sd_readSector ⇒ sd_Command
[Calls]- >> part_relSect
- >> part_getSect
- >> memClr
[Called By]- >> dir_addCluster
- >> mkdir
fs_clusterToSector (Thumb, 38 bytes, Stack size 4 bytes, fs.o(i.fs_clusterToSector))
[Stack]
- Max Depth = 4
- Call Chain = fs_clusterToSector
[Called By]- >> dir_findinDir
- >> file_fwrite
- >> mkdir
fs_findFile (Thumb, 218 bytes, Stack size 56 bytes, fs.o(i.fs_findFile))
[Stack]
- Max Depth = 392 + Unknown Stack Size
- Call Chain = fs_findFile ⇒ dir_findinDir ⇒ fat_LogicToDiscCluster ⇒ fat_getNextClusterAddressWBuf ⇒ part_getSect ⇒ ioman_getSector ⇒ ioman_putSectorInCache ⇒ if_readBuf ⇒ sd_readSector ⇒ sd_Command
[Calls]- >> dir_findinDir
- >> file_normalToFatName
[Called By]- >> fs_findFreeFile
- >> mkdir
- >> file_fopen
fs_findFreeFile (Thumb, 110 bytes, Stack size 40 bytes, fs.o(i.fs_findFreeFile))
[Stack]
- Max Depth = 432 + Unknown Stack Size
- Call Chain = fs_findFreeFile ⇒ fs_findFile ⇒ dir_findinDir ⇒ fat_LogicToDiscCluster ⇒ fat_getNextClusterAddressWBuf ⇒ part_getSect ⇒ ioman_getSector ⇒ ioman_putSectorInCache ⇒ if_readBuf ⇒ sd_readSector ⇒ sd_Command
[Calls]- >> dir_findinDir
- >> dir_addCluster
- >> fs_findFile
- >> dir_getFatFileName
[Called By]
fs_getLastCluster (Thumb, 64 bytes, Stack size 16 bytes, fs.o(i.fs_getLastCluster))
[Stack]
- Max Depth = 240 + Unknown Stack Size
- Call Chain = fs_getLastCluster ⇒ fat_getNextClusterChain ⇒ fat_getNextClusterAddressWBuf ⇒ part_getSect ⇒ ioman_getSector ⇒ ioman_putSectorInCache ⇒ if_readBuf ⇒ sd_readSector ⇒ sd_Command
[Calls]- >> fat_getNextClusterChain
[Called By]- >> dir_addCluster
- >> fat_allocClusterChain
fs_getNextFreeCluster (Thumb, 50 bytes, Stack size 16 bytes, fs.o(i.fs_getNextFreeCluster))
[Stack]
- Max Depth = 200 + Unknown Stack Size
- Call Chain = fs_getNextFreeCluster ⇒ fat_getNextClusterAddress ⇒ part_getSect ⇒ ioman_getSector ⇒ ioman_putSectorInCache ⇒ if_readBuf ⇒ sd_readSector ⇒ sd_Command
[Calls]- >> fat_getNextClusterAddress
[Called By]
fs_giveFreeClusterHint (Thumb, 4 bytes, Stack size 0 bytes, fs.o(i.fs_giveFreeClusterHint))
[Called By]
fs_hasTimeSupport (Thumb, 4 bytes, Stack size 0 bytes, time.o(i.fs_hasTimeSupport))
[Called By]
fs_initClusterChain (Thumb, 16 bytes, Stack size 0 bytes, fs.o(i.fs_initClusterChain))
[Called By]
- >> dir_addCluster
- >> file_fopen
fs_initFs (Thumb, 336 bytes, Stack size 24 bytes, fs.o(i.fs_initFs))
[Stack]
- Max Depth = 184 + Unknown Stack Size
- Call Chain = fs_initFs ⇒ part_getSect ⇒ ioman_getSector ⇒ ioman_putSectorInCache ⇒ if_readBuf ⇒ sd_readSector ⇒ sd_Command
[Calls]- >> ex_getb32
- >> fs_verifySanity
- >> part_relSect
- >> part_getSect
- >> ex_getb16
- >> __aeabi_uidivmod (via Veneer)
- >> __aeabi_idivmod (via Veneer)
[Called By]
fs_setFirstClusterInDirEntry (Thumb, 8 bytes, Stack size 0 bytes, fs.o(i.fs_setFirstClusterInDirEntry))
[Called By]
fs_umount (Thumb, 18 bytes, Stack size 8 bytes, fs.o(i.fs_umount))
[Stack]
- Max Depth = 120
- Call Chain = fs_umount ⇒ part_flushPart ⇒ ioman_flushRange ⇒ ioman_flushSector ⇒ if_writeBuf ⇒ sd_writeSector ⇒ sd_Command
[Calls]
[Called By]
fs_verifySanity (Thumb, 140 bytes, Stack size 8 bytes, fs.o(i.fs_verifySanity))
[Stack]
- Max Depth = 8
- Call Chain = fs_verifySanity
[Called By]
greenLight (Thumb, 18 bytes, Stack size 0 bytes, datalogger.o(i.greenLight))
[Called By]
- >> Undef_Handler (via Veneer)
- >> SWI_Handler (via Veneer)
- >> PAbt_Handler (via Veneer)
- >> FIQ_Handler (via Veneer)
- >> DAbt_Handler (via Veneer)
i2cinit (Thumb, 18 bytes, Stack size 0 bytes, xl345_io_bb.o(i.i2cinit))
[Called By]
if_initInterface (Thumb, 146 bytes, Stack size 16 bytes, aduc702x_spi.o(i.if_initInterface))
[Stack]
- Max Depth = 88
- Call Chain = if_initInterface ⇒ sd_getDriveSize ⇒ sd_Command
[Calls]- >> sd_getDriveSize
- >> sd_State
- >> sd_Init
[Called By]
if_readBuf (Thumb, 16 bytes, Stack size 8 bytes, aduc702x_spi.o(i.if_readBuf))
[Stack]
- Max Depth = 72
- Call Chain = if_readBuf ⇒ sd_readSector ⇒ sd_Command
[Calls]
[Called By]- >> ioman_putSectorInCache
if_spiSend (Thumb, 28 bytes, Stack size 0 bytes, aduc702x_spi.o(i.if_spiSend))
[Called By]
- >> sd_writeSector
- >> sd_readSector
- >> sd_getDriveSize
- >> sd_State
- >> sd_Init
- >> sd_Command
if_writeBuf (Thumb, 12 bytes, Stack size 8 bytes, aduc702x_spi.o(i.if_writeBuf))
[Stack]
- Max Depth = 56
- Call Chain = if_writeBuf ⇒ sd_writeSector ⇒ sd_Command
[Calls]
[Called By]- >> ioman_flushSector
- >> ioman_directSectorWrite
ioman_directSectorWrite (Thumb, 306 bytes, Stack size 24 bytes, ioman.o(i.ioman_directSectorWrite))
[Stack]
- Max Depth = 80
- Call Chain = ioman_directSectorWrite ⇒ if_writeBuf ⇒ sd_writeSector ⇒ sd_Command
[Calls]- >> memCpy
- >> if_writeBuf
- >> ioman_setAttr
[Called By]- >> part_directSectorWrite
ioman_findUnusedSpot (Thumb, 192 bytes, Stack size 16 bytes, ioman.o(i.ioman_findUnusedSpot))
[Stack]
- Max Depth = 16
- Call Chain = ioman_findUnusedSpot
[Called By]
ioman_flushRange (Thumb, 130 bytes, Stack size 24 bytes, ioman.o(i.ioman_flushRange))
[Stack]
- Max Depth = 104
- Call Chain = ioman_flushRange ⇒ ioman_flushSector ⇒ if_writeBuf ⇒ sd_writeSector ⇒ sd_Command
[Calls]- >> ioman_setAttr
- >> ioman_flushSector
[Called By]
ioman_flushSector (Thumb, 126 bytes, Stack size 24 bytes, ioman.o(i.ioman_flushSector))
[Stack]
- Max Depth = 80
- Call Chain = ioman_flushSector ⇒ if_writeBuf ⇒ sd_writeSector ⇒ sd_Command
[Calls]- >> if_writeBuf
- >> ioman_setAttr
[Called By]- >> ioman_flushRange
- >> ioman_releaseSector
- >> ioman_getSector
ioman_getSector (Thumb, 814 bytes, Stack size 56 bytes, ioman.o(i.ioman_getSector))
[Stack]
- Max Depth = 152 + Unknown Stack Size
- Call Chain = ioman_getSector ⇒ ioman_putSectorInCache ⇒ if_readBuf ⇒ sd_readSector ⇒ sd_Command
[Calls]- >> __aeabi_uidivmod (via Veneer)
- >> ioman_setAttr
- >> ioman_putSectorInCache
- >> ioman_flushSector
- >> ioman_findUnusedSpot
[Called By]- >> disc_initDisc
- >> part_getSect
ioman_init (Thumb, 126 bytes, Stack size 16 bytes, ioman.o(i.ioman_init))
[Stack]
- Max Depth = 16
- Call Chain = ioman_init
[Calls]
[Called By]
ioman_putSectorInCache (Thumb, 98 bytes, Stack size 24 bytes, ioman.o(i.ioman_putSectorInCache))
[Stack]
- Max Depth = 96
- Call Chain = ioman_putSectorInCache ⇒ if_readBuf ⇒ sd_readSector ⇒ sd_Command
[Calls]- >> if_readBuf
- >> ioman_setAttr
[Called By]- >> ioman_releaseSector
- >> ioman_getSector
ioman_releaseSector (Thumb, 206 bytes, Stack size 16 bytes, ioman.o(i.ioman_releaseSector))
[Stack]
- Max Depth = 112
- Call Chain = ioman_releaseSector ⇒ ioman_putSectorInCache ⇒ if_readBuf ⇒ sd_readSector ⇒ sd_Command
[Calls]- >> ioman_putSectorInCache
- >> ioman_flushSector
[Called By]- >> disc_initDisc
- >> part_relSect
ioman_setAttr (Thumb, 42 bytes, Stack size 8 bytes, ioman.o(i.ioman_setAttr))
[Stack]
- Max Depth = 8
- Call Chain = ioman_setAttr
[Called By]- >> ioman_putSectorInCache
- >> ioman_flushSector
- >> ioman_flushRange
- >> ioman_directSectorWrite
- >> ioman_getSector
main (Thumb, 68 bytes, Stack size 896 bytes, datalogger.o(i.main))
[Stack]
- Max Depth = 1552 + Unknown Stack Size
- Call Chain = main ⇒ InitFs ⇒ file_fopen ⇒ fs_findFreeFile ⇒ fs_findFile ⇒ dir_findinDir ⇒ fat_LogicToDiscCluster ⇒ fat_getNextClusterAddressWBuf ⇒ part_getSect ⇒ ioman_getSector ⇒ ioman_putSectorInCache ⇒ if_readBuf ⇒ sd_readSector ⇒ sd_Command
[Calls]- >> SensorLoop
- >> Initialize
- >> InitFs
- >> debug_printf
[Address Reference Count : 1]- rtentry2.o(.ARM.Collect$$rtentry$$0000000D)
memClr (Thumb, 18 bytes, Stack size 0 bytes, plibc.o(i.memClr))
[Called By]
- >> ioman_init
- >> fs_clearCluster
- >> dir_getFatFileName
- >> mkdir
- >> file_fclose
memCpy (Thumb, 28 bytes, Stack size 4 bytes, plibc.o(i.memCpy))
[Stack]
- Max Depth = 4
- Call Chain = memCpy
[Called By]- >> dir_updateDirectoryEntry
- >> dir_createDirectoryEntry
- >> dir_createDefaultEntry
- >> file_fwrite
- >> dir_getFatFileName
- >> mkdir
- >> file_fopen
- >> ioman_directSectorWrite
mkdir (Thumb, 346 bytes, Stack size 80 bytes, ui.o(i.mkdir))
[Stack]
- Max Depth = 512 + Unknown Stack Size
- Call Chain = mkdir ⇒ fs_findFreeFile ⇒ fs_findFile ⇒ dir_findinDir ⇒ fat_LogicToDiscCluster ⇒ fat_getNextClusterAddressWBuf ⇒ part_getSect ⇒ ioman_getSector ⇒ ioman_putSectorInCache ⇒ if_readBuf ⇒ sd_readSector ⇒ sd_Command
[Calls]- >> part_relSect
- >> part_getSect
- >> memCpy
- >> memClr
- >> fs_giveFreeClusterHint
- >> fs_getNextFreeCluster
- >> fs_findFreeFile
- >> fs_findFile
- >> fs_clusterToSector
- >> fs_clearCluster
- >> fat_setNextClusterAddress
- >> fat_giveEocMarker
- >> dir_getFatFileName
[Called By]
part_directSectorWrite (Thumb, 28 bytes, Stack size 8 bytes, partition.o(i.part_directSectorWrite))
[Stack]
- Max Depth = 88
- Call Chain = part_directSectorWrite ⇒ ioman_directSectorWrite ⇒ if_writeBuf ⇒ sd_writeSector ⇒ sd_Command
[Calls]- >> ioman_directSectorWrite
[Called By]
part_flushPart (Thumb, 30 bytes, Stack size 8 bytes, partition.o(i.part_flushPart))
[Stack]
- Max Depth = 112
- Call Chain = part_flushPart ⇒ ioman_flushRange ⇒ ioman_flushSector ⇒ if_writeBuf ⇒ sd_writeSector ⇒ sd_Command
[Calls]
[Called By]
part_getSect (Thumb, 28 bytes, Stack size 8 bytes, partition.o(i.part_getSect))
[Stack]
- Max Depth = 160 + Unknown Stack Size
- Call Chain = part_getSect ⇒ ioman_getSector ⇒ ioman_putSectorInCache ⇒ if_readBuf ⇒ sd_readSector ⇒ sd_Command
[Calls]
[Called By]- >> fat_getNextClusterChain
- >> fat_getNextClusterAddress
- >> dir_findinDir
- >> fat_allocClusterChain
- >> fat_LogicToDiscCluster
- >> dir_updateDirectoryEntry
- >> dir_setFirstCluster
- >> dir_setFileSize
- >> dir_getFileStructure
- >> dir_createDirectoryEntry
- >> file_fwrite
- >> fs_initFs
- >> fs_clearCluster
- >> fat_setNextClusterAddress
- >> mkdir
- >> fat_setNextClusterAddressWBuf
- >> fat_getNextClusterAddressWBuf
- >> dir_findinRootArea
part_initPartition (Thumb, 50 bytes, Stack size 0 bytes, partition.o(i.part_initPartition))
[Called By]
part_relSect (Thumb, 16 bytes, Stack size 8 bytes, partition.o(i.part_relSect))
[Stack]
- Max Depth = 120
- Call Chain = part_relSect ⇒ ioman_releaseSector ⇒ ioman_putSectorInCache ⇒ if_readBuf ⇒ sd_readSector ⇒ sd_Command
[Calls]
[Called By]- >> fat_getNextClusterChain
- >> fat_getNextClusterAddress
- >> dir_findinDir
- >> fat_allocClusterChain
- >> fat_LogicToDiscCluster
- >> dir_updateDirectoryEntry
- >> dir_setFirstCluster
- >> dir_setFileSize
- >> dir_getFileStructure
- >> dir_createDirectoryEntry
- >> file_fwrite
- >> fs_initFs
- >> fs_clearCluster
- >> fat_setNextClusterAddress
- >> mkdir
- >> fat_setNextClusterAddressWBuf
- >> fat_getNextClusterAddressWBuf
- >> dir_findinRootArea
redLight (Thumb, 18 bytes, Stack size 0 bytes, datalogger.o(i.redLight))
[Called By]
- >> Undef_Handler (via Veneer)
- >> SWI_Handler (via Veneer)
- >> PAbt_Handler (via Veneer)
- >> FIQ_Handler (via Veneer)
- >> DAbt_Handler (via Veneer)
sd_Command (Thumb, 86 bytes, Stack size 24 bytes, sd.o(i.sd_Command))
[Stack]
- Max Depth = 24
- Call Chain = sd_Command
[Calls]
[Called By]- >> sd_writeSector
- >> sd_readSector
- >> sd_getDriveSize
- >> sd_State
sd_Init (Thumb, 266 bytes, Stack size 24 bytes, sd.o(i.sd_Init))
[Stack]
- Max Depth = 24
- Call Chain = sd_Init
[Calls]
[Called By]
sd_State (Thumb, 78 bytes, Stack size 16 bytes, sd.o(i.sd_State))
[Stack]
- Max Depth = 40
- Call Chain = sd_State ⇒ sd_Command
[Calls]- >> if_spiSend
- >> sd_Command
[Called By]
sd_getDriveSize (Thumb, 172 bytes, Stack size 48 bytes, sd.o(i.sd_getDriveSize))
[Stack]
- Max Depth = 72
- Call Chain = sd_getDriveSize ⇒ sd_Command
[Calls]- >> if_spiSend
- >> sd_Command
[Called By]
sd_readSector (Thumb, 162 bytes, Stack size 40 bytes, sd.o(i.sd_readSector))
[Stack]
- Max Depth = 64
- Call Chain = sd_readSector ⇒ sd_Command
[Calls]- >> if_spiSend
- >> sd_Command
[Called By]
sd_writeSector (Thumb, 120 bytes, Stack size 24 bytes, sd.o(i.sd_writeSector))
[Stack]
- Max Depth = 48
- Call Chain = sd_writeSector ⇒ sd_Command
[Calls]- >> if_spiSend
- >> sd_Command
[Called By]
strMatch (Thumb, 36 bytes, Stack size 8 bytes, plibc.o(i.strMatch))
[Stack]
- Max Depth = 8
- Call Chain = strMatch
[Called By]- >> dir_findinDir
- >> dir_findinRootArea
xl345Read (Thumb, 250 bytes, Stack size 32 bytes, xl345_io_bb.o(i.xl345Read))
[Stack]
- Max Depth = 48
- Call Chain = xl345Read ⇒ I2C_WRITE
[Calls]
[Called By]- >> SensorLoop
- >> IRQ_Handler (via Veneer)
xl345Write (Thumb, 94 bytes, Stack size 20 bytes, xl345_io_bb.o(i.xl345Write))
[Stack]
- Max Depth = 36
- Call Chain = xl345Write ⇒ I2C_WRITE
[Calls]
[Called By]
_fp_init (ARM, 24 bytes, Stack size 8 bytes, fpinit.o(x$fpl$fpinit))
[Stack]
- Max Depth = 8
- Call Chain = _fp_init
[Calls]
[Called By]- >> __rt_lib_init (via Veneer)
__fplib_config_pureend_doubles (ARM, 0 bytes, Stack size unknown bytes, fpinit.o(x$fpl$fpinit), UNUSED)
Local Symbols
__arm_div_large_positive (ARM, 0 bytes, Stack size unknown bytes, aeabi_sdivfast.o(.text))
[Called By]
__arm_div16 (ARM, 0 bytes, Stack size unknown bytes, aeabi_sdivfast.o(.text))
[Called By]
__arm_div12 (ARM, 0 bytes, Stack size unknown bytes, aeabi_sdivfast.o(.text))
[Called By]
__arm_div8 (ARM, 0 bytes, Stack size unknown bytes, aeabi_sdivfast.o(.text))
[Called By]
__arm_div4 (ARM, 0 bytes, Stack size unknown bytes, aeabi_sdivfast.o(.text))
[Called By]
_printf_input_char (Thumb, 10 bytes, Stack size 0 bytes, _printf_char_common.o(.text))
[Address Reference Count : 1]
- _printf_char_common.o(.text)
Undefined Global Symbols
_call_atexit_fns (ARM, 0 bytes, Stack size 0 bytes, UNDEFINED)
[Called By]
_handle_redirection (ARM, 0 bytes, Stack size 0 bytes, UNDEFINED, UNUSED)
[Called By]
_printf_mbtowc (ARM, 0 bytes, Stack size 0 bytes, UNDEFINED)
[Called By]
_printf_truncate_signed (ARM, 0 bytes, Stack size 0 bytes, UNDEFINED)
[Called By]
_printf_truncate_unsigned (ARM, 0 bytes, Stack size 0 bytes, UNDEFINED)
[Called By]